package com.kuang.controller;

import com.kuang.springcloud.pojo.User;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;

import java.util.List;

@RestController
public class consumerUserController {

    //RestTemplate, 注册到spring中
    //（String url,实体:Map, Class<T> responseType, Object... uriVariables）
    @Resource
    private RestTemplate restTemplate;//提供便捷访问远程http服务的方法，简单的restful    服务模板
    /**
     * Ribbon，需要实现负载均衡，不要写死到哪个位置寻找服务，变量
     */
    private static final String REST_URL_PREFIX = "http://SPRINGCLOUD-PROVIDER";
//    private static final String REST_URL_PREFIX = "http://localhost:8001";
    //需要去提供者：http://localhost:8001/user/getOne/6，获取，本身没有此功能
    @GetMapping("/user/getOne/{userId}")
    public User getUser(@PathVariable("userId") Integer userId){
        return restTemplate.getForObject(REST_URL_PREFIX+"/user/getOne/"+userId,User.class);
    }
    @GetMapping("/user/getAll")
    public List<User> getUserAll(){
        return restTemplate.getForObject(REST_URL_PREFIX+"/user/getAll",List.class);
    }
    @RequestMapping("/user/add")
    public Boolean addUser(User user){
        return restTemplate.postForObject(REST_URL_PREFIX+"/user/add",user,Boolean.class);
    }
}
